package com.inei.cie.utilitarios;

import java.util.List;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

import com.inei.cie.R;
import com.inei.cie.entidades.Car;
import com.inei.cie.entidades.Dist;
import com.inei.cie.entidades.Dpto;
import com.inei.cie.entidades.Prov;

public class ListadoGeneralLocalesAdapter extends BaseAdapter {

	Context context;
	List<Car> lista;
	List<Dpto> lDpto;
	List<Prov> lProv;
	List<Dist> lDist;

	public ListadoGeneralLocalesAdapter(Context context, List<Car> lista,
			List<Dpto> lDpto, List<Prov> lProv, List<Dist> lDist) {
		this.context = context;
		this.lista = lista;
		this.lDpto = lDpto;
		this.lProv = lProv;
		this.lDist = lDist;
	}

	@Override
	public int getCount() {
		// TODO Auto-generated method stub
		return lista.size();
	}

	@Override
	public Object getItem(int pos) {
		// TODO Auto-generated method stub
		return lista.get(pos);
	}

	@Override
	public long getItemId(int pos) {
		// TODO Auto-generated method stub
		return Long.parseLong(lista.get(pos).getId_local());
	}

	@Override
	public View getView(int pos, View view, ViewGroup group) {
		// TODO Auto-generated method stub
		View item = view;
		ViewHolder holder;
		if (item == null) {
			LayoutInflater inflater = (LayoutInflater) context
					.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
			item = inflater.inflate(R.layout.listado_local_item, null);
			holder = new ViewHolder();
			holder.tvIdLocal = (TextView) item.findViewById(R.id.tvIdLocal);
			holder.tvDistrito = (TextView) item
					.findViewById(R.id.tvDistrito);
			holder.tvProvincia = (TextView) item.findViewById(R.id.tvProvincia);
			item.setTag(holder);
		} else {
			holder = (ViewHolder) item.getTag();
		}
		Car obj = lista.get(pos);
		holder.tvIdLocal.setText(obj.getId_local());
		if (obj.getDep() == null) {
			obj.setDep(lDpto.get(obj.getCod_dep()-1).getNombre());
		}
		
		

		if(obj.getProv()==null){
			for(Prov prov : lProv){
				if(prov.getCod_dep()==obj.getCod_dep() && prov.getCod_prov()==obj.getCod_prov()){
					obj.setProv(prov.getNombre());
					break;
				}
			}
		}
		holder.tvProvincia.setText(obj.getProv());
		
		if(obj.getDist()==null){
			for(Dist dist : lDist){
				if(dist.getCod_dep()==obj.getCod_dep() && dist.getCod_prov()==obj.getCod_prov()  && dist.getCod_dist()==obj.getCod_dist()){
					obj.setDist(dist.getNombre());
					break;
				}
			}
		}
		holder.tvDistrito.setText(obj.getDist());
		return item;
	}

	class ViewHolder {
		TextView tvIdLocal;
		TextView tvDistrito;
		TextView tvProvincia;
	}

}
